#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>

/*  
1  ./open01 1.txt
2  argc=2
3  argv[0]="./open01"
4  argv[1]="1.txt"
*/

int main (int argc, char **argv)
{
    int fd;
    if(argc != 2) 
    {
        printf("Usage: %s<filename>\n", argv[0]);
        return -1;
    }
    fd = open(argv[1], O_RDWR);//以可读可写的方式打开文件
    if(fd == -1)
    {
        printf("Error number: %d\n", errno);//打印错误码
        printf("Error message: %s\n", strerror(errno));//把错误码转换成错误信息打印出来    
        perror("open");//打印错误信息
        return -1;
    }
    else
    {
        printf("fd=%d\n", fd);
    }
    while(1)
    {
        sleep(10);
    }
    close(fd);//关闭
    return 0;
}